package com.baizhi.config;

import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;

/**
 * 错误页面配置
 *
 * 继承错误页面注册器 ErrorPageRegistrar
 */
@Configuration
public class ErrorConfig implements ErrorPageRegistrar {
    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        /**
         * 配置错误页面
         *
         * ErrorPage 有两个参数
         * 参数1 响应状态码  NOT_FOUND 404  INTERNAL_SERVER_ERROR 500
         * 参数2 出现响应状态码的时候的跳转路径   可以跳转到jsp页面 能不能跳转到Controller  跳转到Controller可以响应数据
         */
        ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.jsp");

        /**
         * 跳转到Controller可以响应数据 对于Ajax请求而言 可以获取响应json数据
         */
        ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/test/errorData");

        /**
         * 将ErrorPage 注册到注册器中
         */
        registry.addErrorPages(error404Page,error500Page);

    }
}
